Mobile blood alcohol content and impairment sensing device

ABSTRACT

In a mobile sensing device, a method of detecting blood alcohol content includes receiving time-series gait data from at least one sensor of the mobile sensing device as a user walks and detecting a set of attributes associated with the time-series gait data, each attribute of the set of attributes related to the user&#39;s gait. The method includes comparing the set of attributes with a machine learning classification model learned from a training data set of attributes to determine at least one of a blood alcohol content range of the user and an impairment level of the user and outputting a notification associated with the at least one of the blood alcohol content range of the user and the impairment level of the user.

RELATED APPLICATIONS

This patent application claims the benefit of U.S. ProvisionalApplication No. 62/407,791, filed on Oct. 13, 2016, entitled, “BloodAlcohol Content Sensing System,” the contents and teachings of which arehereby incorporated by reference in their entirety.

BACKGROUND

Alcohol abuse is the third leading lifestyle-related cause of death forindividuals in the United States, causing 88,000 deaths each year in theUnited States from 2006-2010. To limit the physical and mental harmcaused by alcohol abuse, a variety of devices are used to providevarying levels of intoxication detection.

For example, the SCRAM Continuous Alcohol Monitoring device is anankle-worn, commercial detection device. It is typically used forhigh-risk, Driving Under the Influence (DUI) alcohol offenders who havebeen ordered by a court not to consume alcohol. The SCRAM device samplesthe wearer's perspiration once every 30 minutes in order to measure hisBAC levels. In another example, the Kisai Intoxicated LCD Watch, asproduced by TokyoFlash, Japan, is a watch that includes a built-inbreathalyzer. By breathing into its breathalyzer, the watch detects anddisplays graphs of the user's blood alcohol content (BAC) level.

Additionally, machine learning approaches to detect BAC from datagathered from conventional smartwatches have been used. As smartwatcheshave been developed, attempts have been made to utilize them to detectalcohol consumption levels. For example, certain conventional approacheshave estimated a user's intoxication level using heart rate andtemperature detected by a smartwatch worn by the user.

Further, certain smartphone applications, such as Intoxicheck(http://intoxicheck.appstor.io) can detect alcohol impairment in users.In use, a user takes a series of reaction, judgment, and memorychallenges before and after drinking, which are compared to estimatetheir intoxication level. Other smartphone applications detectintoxication detection from gait. For example, certain conventionalsmartphone applications relate to a passive phone-based system that usethe smartphone's accelerometer data to detect whether users had consumedalcohol or not.

SUMMARY

Previous devices and approaches suffer from a variety of deficiencies.For example, certain conventional devices require a user to activelyengage the device in order to determine the user's relative sobriety.For instance, the Intoxicheck smartphone application requires the userto takes a series of reaction, judgment, and memory challenges afterdrinking to estimate their intoxication level. Further, the KisaiIntoxicated LCD Watch requires the user to blow into a built-inbreathalyzer in order to detect and display the user's BAC level. Ineither case, both Intoxicheck and the Kisai Intoxicated LCD Watchrequire active user engagement, which may deter adoption and reducetheir scalabilities.

In another example, certain intoxication detection devices, such as theSCRAM device and the Kisai Intoxicated LCD watch, are dedicated,stand-alone devices. Therefore, a user must purchase and use thesedevice separate from other conventional day-to-day devices that he mayuse, such as a smartphone or smartwatch. This may also deter adoptionand reduce their scalabilities.

The use of conventional mobile devices to detect a user's BAC alsosuffer from a variety of deficiencies. For example, certain mobiledevices can utilize machine learning approaches to detect BAC solelyfrom user heart rate and temperature data. However, these conventionalapproaches do not utilize user gait information which, aside from thedirect breathalyzer test, is a highly reliable indicator of humanintoxication. In another example, certain smartphone applications relateto a passive system that use only the smartphone's accelerometer data todetect whether or not a user has consumed alcohol. However, theseapplications do not utilize either postural sway features extracted fromgyroscope data or normalization to account for different walking stylesand can lead to an unusable level of BAC accuracy.

By contrast to conventional devices and approaches, embodiments of thepresent innovation relate to a mobile blood alcohol content andimpairment sensing device. In one arrangement, the mobile sensingdevice, such as a smartphone, includes a set of sensors, such as anaccelerometer and gyroscope. During operation, the mobile sensing devicereceives accelerometer and gyroscope sensor data generated as a userwalks. The mobile sensing device then utilizes a machine learningapproach to classify the user's gait attributes, as derived from thesensor data, as being indicative of a certain BAC or level ofimpairment. With such an approach, the mobile sensing device isconfigured to operate passively to determine the user's level ofintoxication or impairment.

In one arrangement, embodiments of the innovation relate to a mobilesensing device, having at least one sensor and a controller having aprocessor and a memory, the controller disposed in electricalcommunication with the at least one sensor. The controller is configuredto receive time-series gait data from at least one sensor of the mobilesensing device as a user walks; detect a set of attributes associatedwith the time-series gait data, each attribute of the set of attributesrelated to the user's gait; compare the set of attributes with a machinelearning classification model learned from a training data set ofattributes to determine at least one of a blood alcohol content range ofthe user and an impairment level of the user; and output a notificationassociated with the at least one of the blood alcohol content range ofthe user and the impairment level of the user.

In one arrangement, in a mobile sensing device, embodiments of theinnovation relate to a method of detecting blood alcohol content whichincludes receiving time-series gait data from at least one sensor of themobile sensing device as a user walks and detecting a set of attributesassociated with the time-series gait data, each attribute of the set ofattributes related to the user's gait. The method includes comparing theset of attributes with a machine learning classification model learnedfrom a training data set of attributes to determine at least one of ablood alcohol content range of the user and an impairment level of theuser and outputting a notification associated with the at least one ofthe blood alcohol content range of the user and the impairment level ofthe user.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages will beapparent from the following description of particular embodiments of theinnovation, as illustrated in the accompanying drawings in which likereference characters refer to the same parts throughout the differentviews. The drawings are not necessarily to scale, emphasis instead beingplaced upon illustrating the principles of various embodiments of theinnovation.

FIG. 1 illustrates a schematic representation of a mobile sensingdevice, according to one arrangement.

FIG. 2 illustrates a schematic representation of the mobile sensingdevice of FIG. 1 configured to detect a user's motion as walking motion,according to one arrangement.

FIG. 3 illustrates a schematic representation of the mobile sensingdevice of FIG. 1 configured to detect a set of attributes associatedwith time-series gait data, according to one arrangement.

FIG. 4A illustrates an example of an XZ Sway area plot, according to onearrangement.

FIG. 4B illustrates an example of a sway volume plot, according to onearrangement.

FIG. 5 illustrates an example of an application of a machine learningclassification model learned from a training data set, according to onearrangement.

FIG. 6 illustrates a schematic representation of a mobile sensingdevice, according to one arrangement.

FIG. 7 illustrates a schematic diagram of a user utilizing both a firstand second mobile device to detect a blood alcohol content level orimpairment level, according to one arrangement.

DETAILED DESCRIPTION

Embodiments of the present innovation relate to a mobile blood alcoholcontent and impairment sensing device. In one arrangement, the mobilesensing device, such as a smartphone, includes a set of sensors, such asan accelerometer and gyroscope. During operation, the mobile sensingdevice receives accelerometer and gyroscope sensor data generated as auser walks. The mobile sensing device then utilizes a machine learningapproach to classify the user's gait attributes, as derived from thesensor data, as being indicative of a certain BAC or level ofimpairment. With such an approach, the mobile sensing device isconfigured to operate passively to determine the user's level ofintoxication or impairment.

FIG. 1 illustrates a schematic representation of an example of a mobilesensing device 20. While the mobile sensing device 20 can be configuredas a variety of types of devices, in one arrangement the mobile sensingdevice 20 is configured as a computerized device, such as a mobile phone(e.g., smartphone), mobile watch (e.g., smartwatch), a tablet device, alaptop computer, or other computerized device. In the case where themobile sensing device 20 is configured as a smartphone, the mobilesensing device 20 includes a communication element 22 such as atransmitter, a receiver, a microphone, and a speaker configured to allowa user to communicate with other mobile devices. The mobile sensingdevice 20 also includes a controller 24, such as a memory and aprocessor, disposed in electrical communication with the communicationelement 22, with one or more sensors 26, such as an accelerometer and agyroscope, and with a display 28, such as a touch screen display.

In one arrangement, the controller 24 of the mobile sensing device 20 isconfigured to detect a user's blood alcohol content and/or impairmentlevel based upon time-series gait data received from the sensors 26 as auser walks. For example, as will be described in detail below, themobile sensing device 20 is configured to collect time-series gait datasignals from the accelerometer 27 and gyroscope 29 and derive attributesof the user's gait based upon these raw accelerometer and gyroscope datasignals. Further, the mobile sensing device 20 is configured to classifythe attributes into blood alcohol content (BAC) ranges and/or impairmentlevels and to provide an output regarding the user's detected BAC and/orimpairment levels.

In one arrangement, the controller 24 of the mobile sensing device 20can store an application for detecting a BAC or impairment level of auser based upon input from the sensors 26. The detection applicationinstalls on the controller 24 from a computer program product 25. Insome arrangements, the computer program product 25 is available in astandard off-the-shelf form such as a shrink wrap package (e.g.,CD-ROMs, diskettes, tapes, etc.). In other arrangements, the computerprogram product 25 is available in a different form, such downloadableonline media. When performed on the controller 24 of the mobile sensingdevice 20, the detection application causes the mobile sensing device 20to detect the BAC range or impairment level of a user and to provide anoutput or notification 36 regarding the detected range or level.

In one arrangement, when the detection application installs on thecontroller 24 from a computer program product 25, the controller 24 isconfigured to launch and execute the application in the background ofthe mobile sensing device 20. Such background execution does not requirethe user to either initiate or interact with the detection applicationor with the mobile sensing device 20. By executing the application inthe background, the mobile sensing device 20 is configured to operate asa passive device. That is, the mobile sensing device 20 can detect theBAC range or impairment level of the user with minimal, if any, activeinput from the user. With such a configuration, the detectionapplication can be adopted and utilized by users without requiring theuser's active participation with the mobile sensing device 20.

With continued reference to FIG. 1, and as provided above, conventionalmobile sensing device 20, such as smartphones, typically include anaccelerometer 27 and a gyroscope 29. Each of these devices 27, 29 isconfigured to generate a time-series gait data signal 30, hereinafterreferred to as time-series gait data 30, that can identify either auser's BAC range in the case of alcohol intoxication or level ofimpairment in the case of non-alcohol based intoxication, such as byopioids or other drugs.

In one arrangement, the accelerometer 27 is configured to generatetime-series gait data 30-1 which identifies attributes associated withthe user's walking pattern. For example, the time-series gait data 30-1from the accelerometer 27 can identify, among a number of attributes,the cadence and the symmetry of the user's walking pattern. Variationsin these attributes relative to a classifier such as a machine learningclassification model 34 learned from a training data set of attributes35 can relate to the user having a BAC or impairment level in aparticular, elevated range.

In one arrangement, the gyroscope 29 is configured to providetime-series gait data 30-2 that can identify a user's sway area along aYZ (anterior-posterior) plane, an XY (mediolateral) plane, or an XZ(rotational) plane. Increases in the user's physical sway area relativeto the machine learning classification model 34 learned from thetraining data set of attributes 35 can relate to the user having a BACor impairment level in a particular, elevated range.

The mobile sensing device 20 can be configured to detect user BAC rangesor impairment levels in a variety of ways. The following provides adescription of an example of the operation of the mobile sensing device20, according to one arrangement.

During operation, once the user has installed the detection applicationon the mobile sensing device 20, the user initially configures or trainsthe mobile sensing device 20 to recognize a baseline gait data signal 40while the user is sober. For example, during a configuration process, asthe user walks while sober, the mobile sensing device 20 collectsbaseline accelerometer gait data 40-1 from the accelerometer 27 andbaseline gyroscope gait data 40-2 from the gyroscope 29. The mobilesensing device 20 stores the baseline gait data signal 40 as a basis forcomparison against future time-series gait data 30 collected by themobile sensing device 20, as will be discussed below.

As provided above, once installed, the mobile sensing device 20 isconfigured to execute the detection application in the background, suchthat the mobile sensing device 20 can detect the BAC range or impairmentlevel of the user with minimal, if any, user-input. When the mobilesensing device 20 executes the detection application in a substantiallycontinuous manner, the mobile sensing device 20 can receive motion data50 from the sensors 26 in substantially periodic intervals or as theuser moves (e.g., sits, stands, runs, jumps, etc.). However, the mobilesensing device 20 is configured to collect and store time-series gaitdata 30 from the sensors during times of interest, such as when the useris walking. Accordingly, during operation and prior to collecting thetime-series gait data 30, the mobile sensing device 20 is configured todetect if the user is walking based upon the motion data 50 received.

In one arrangement, with reference to FIG. 2, the controller 24 of themobile sensing device 20 is configured to receive user motion signals 50from the sensors 26 at periodic intervals, such as at a rate of onceevery one to five minutes. During operation, the mobile sensing device20 compares the user motion signals 50 with a walking signature signal52 which is stored by the mobile sensing device's controller 24 andidentifies some aspect of the user's gait, such as cadence, as the userwalks. When the mobile sensing device 20 detects the user motion signal50 as substantially corresponding to the walking signature signal 52,the mobile sensing device 20 can identify the user motion signal 50 asindicating that the user is in the process of walking.

For example, assume the case where the mobile sensing device 20receives, at a first time, a first user motion signal 50-1 from theaccelerometer 27. Based on a comparison between the first user motionsignal 50-1 and the walking signature signal 52 stored by the controller24, the mobile sensing device 20 can identify a substantial differencebetween the signals 50-1, 52 to identify the user motion signal 50-1 asnot indicating that the user is in the process of walking. For example,the substantial difference can include a difference in the accelerometerand gyroscope peak values between the user motion signal 50-1 and thewalking signature signal 52 and/or a difference in the signal strengthbetween the user motion signal 50-1 and the walking signature signal 52.However, assume the case where the mobile sensing device 20 receives, ata second time, a second user motion signal 50-2 from the accelerometer27. Based on a comparison between the second user motion signal 50-2 andthe walking signature signal 52, the mobile sensing device 20 canidentify a substantial similarity between the signals 50-2, 52 toidentify the user motion signal 50-2 indicating that the user is in theprocess of walking. For example, the substantial similarity can includesimilar shapes and patterns of the user motion signal 50-1 and thewalking signature signal 52 within a preconfigured tolerance range(e.g., +/−10%).

Returning to FIG. 1, in the case where the mobile sensing device 20identifies the user motion signal 50 as corresponding to the walkingsignature signal 52, the mobile sensing device 20 is configured to thenreceive time-series gait data 30 from the sensors 26 of the mobilesensing device 20 as the user walks. In one arrangement, with referenceto FIG. 3, the controller 24 can receive accelerometer time-series gaitdata 30-1 from the accelerometer 27 and can receive gyroscopetime-series gait data 30-2 from the gyroscope 29 from both of thesensors 27, 29 in a substantially simultaneous manner. As providedabove, the accelerometer time-series gait data 30-1 identifiesattributes associated with a user's walking pattern while the gyroscopetime-series gait data 30-2 can identify attributes associated with theuser's sway area. Taken together, the time-series gait data 30-1, 30-2allows the mobile sensing device 20 to provide a relatively robustassessment as to the user's BAC range or impairment level. However, thecontroller 24 can receive the time-series gait data 30 from only eitherof the accelerometer 27 or the gyroscope 29 and can use the respectivedata 30-1 or 30-2 to determine the BAC range or impairment level of theuser.

As the mobile sensing device 20 receives the time-series gait data 30,the controller 24 is configured to collect and store a sample of thetime-series gait data 30 received. For example, the controller 24 isconfigured to store a thirty-second sample of the time-series gait data30, as received from the sensor 26.

In one arrangement, once the controller 24 has received the time-seriesgait data 30, the controller 24 is configured to preprocess thetime-series gait data 30 prior to analyzing the time-series gait data30. In one arrangement, with reference to FIG. 3, as part of thepreprocessing, the mobile sensing device 20 is configured to divide thetime-series gait data 30 into gait data segments 60. For example, thecontroller 24 is configured to break the continuous time series data30-1, 30-2 received from each of the accelerometer 27 and gyroscope 29,respectively, into five-second segments 60-1, 60-2 on which computationscan then be performed. By segmenting the time series gait data 30-1,30-2 into gait data segments 60, the controller 24 breaks thetime-series gait data 30 into relatively smaller chunks to address therelatively rapid changes in the data within the sample of thetime-series gait data 30.

Further, as part of the preprocessing, the mobile sensing device 20 isconfigured to identify and remove outlier values 42 from the time-seriesgait data 30. For example, as the user walks and as the mobile sensingdevice 20 collects time-series gait data 30, the user may generateanomalous gait data that is outside of the range typically generatedduring walking, such as if the user were to trip or fall while walking.To limit the effect of extreme or outlier gyroscope and accelerometerdata time series gait data values on the analysis, the mobile sensingdevice 20 is configured to sort the accelerometer and gyroscope timeseries gait data 30-1, 30-2 and to remove outlier values 42, such as thetop and bottom 1 percent of the time-series gait data 30 values.

For example, with reference to FIG. 3, the gyroscope time series gaitdata 30-2, the controller 24 can apply a sorting algorithm to the timeseries gait data 30-2 and, based upon the sorting, can identify the dataof segment 60-2-5 as including outlier values 42, such as values thatare at the top 1 percent of the values for the time series gait data30-2. With such identification, the controller 24 is configured toremove these values from the segment 60-2-5 prior to further processingthe gyroscope time series gait data 30-2.

Next, returning to FIG. 1, the mobile sensing device 20 is configured todetect a set of attributes 32 associated with the time-series gait data30 where each attribute of the set of attributes 32 relates to theuser's gait. In one arrangement, with reference to FIG. 3, in the casewhere the controller 24 has performed a preprocessing of the time-seriesgait data 30, the mobile device 20 is configured to extract the set ofattributes 32 associated with each gait data segment 60 of thetime-series gait data 30. For example, in the example illustrated, themobile sensing device 20 extracts the attributes 32-1 of theaccelerometer time series gait data 30-1 for each of segments 60-1-1through 60-1-5 and detects the gyroscope time series gait data 30-2 foreach of segments 60-2-1 through 60-2-5.

While the mobile sensing device 20 can detect the set of attributes 32in a variety of ways, in one arrangement, the controller 24 isconfigured to apply particular functions to the time-series gait data 30based upon the sensor utilized to collect the time-series gait data 30.

For example, in the case where the time-series gait data 30 isaccelerometer time-series gait data 30-1, the controller 24 isconfigured to apply one or more accelerometer functions 64 to each ofthe gait data segments 60-1 to extract corresponding accelerometerattributes 32-1. In one arrangement, the accelerometer function 64 canbe configured to extract an attribute 32-1 which relates to any of anumber of steps taken, a cadence, a symmetry of a walking pattern, akurtosis, an average gait velocity, a residual step length, a harmonicratio of high and low frequencies, a residual step time, bandpower,signal to noise ratio, or a total harmonic distortion from each of thegait data segments 60-1 associated with the time-series gait data 30-1.

Table 1 provided below outlines eleven (11) attributes 32-1 that can beextracted from the accelerometer time-series gait data 30-1 by thecorresponding accelerometer functions 64. It is noted that the listingof attributes 32 provided in Table 1 is by way of example only. Itshould be understood that additional attributes 32-1 can be extractedfrom the accelerometer time-series gait data 30-1 as well.

TABLE 1 Attribute 32-1 Attribute Description Accelerometer Function 64Steps Number of steps calculation of signal peaks above one standardtaken deviation away from mean of gravity corrected magnitude of signalCadence Number of steps cadence = # of steps/minute taken per minuteSkew Lack of symmetry in one's walking pattern${skewness} = \frac{\frac{1}{n}{\sum( {x_{i} - \mu_{x}} )^{3}}}{\lbrack {\frac{1}{n}{\sum( {x_{i} - \mu_{x}} )^{2}}} \rbrack^{3/2}}$Where x_(i) is the data sequence and u_(x) is the average of all x_(i)Kurtosis Measure of how outlier-prone a distribution is${kurtosis} = \frac{\frac{1}{n}{\sum( {x_{i} - \mu_{x}} )^{4}}}{\lbrack {\frac{1}{n}{\sum( {x_{i} - \mu_{x}} )^{2}}} \rbrack^{2}}$Where x_(i) is the data sequence and u_(x) is the average of all x_(i)Average gait Average steps per average gait velocity = [(averagesteps/sec)]/ velocity second divided by step length average step lengthResidual step length Difference from the residual step length =distance/# of steps average in the length of each step Ratio Ratio ofhigh and low frequencies${{harmonic}\mspace{14mu}{ratio}} = \frac{\overset{\;}{\sum_{{i = 1},3,5,\ldots}}V_{i}}{\sum_{{j = 2},4,6,\ldots}V_{j}}$Where V_(i) is the amplitude of odd-ordered harmonic frequency and V_(j)is the even-ordered harmonic frequency Residual step time Difference inthe time of each step${{residual}\mspace{14mu}{step}\mspace{14mu}{time}} = \frac{\sqrt{\frac{1}{n}{\sum( {{interval}_{i} - \mu_{interval}} )^{2}}}}{\mu_{inerval}}$Where interval_(i) is a sequence of stride intervals and u_(interval) isthe average of all interval_(i) Band power Average power in thebandpower = bandpower(x) input signal Where x is a matrix of themagnitude, and band power calculates the average power in each columnindependently Signal to noise ratio Estimated level of noise within thedata ${snr} = \frac{{power}_{signal}}{{power}_{noise}}$ Total harmonicdistortion Based upon the fundamental frequency and the first fiveharmonics${thd} = \frac{\sqrt{\overset{\;}{\sum_{{i = 2},3,4,5}}V_{i}^{2}}}{V_{1}}$Where V₁ is energy contained within peak of PSD at the fundamentalfrequency and V_(i) is energy contained within the harmonics

For example, during operation, assume the case where the controller 24is configured to apply the kurtosis function as the accelerator function64 to each segment 60-1 of the accelerometer time-series gait data 30-1.As a result of the application of the kurtosis function to the segments60-1, the controller 24 generates kurtosis attributes 32-1-1 through32-1-5 associated with the accelerometer time-series gait data 30-1, oneattribute 32-1-1 through 32-1-5 for each segment 60-1-1 through 60-1-5.In the example provided, application of additional accelerator functions64 (e.g., cadence function, skew function, etc.) to each segment 60-1 ofthe accelerometer time-series gait data 30-1 can produce fivecorresponding attributes (e.g., cadence attributes, skew attributes),one attribute 32-1-through 32-1-5 for each segment 60-1-1 through 60-1-5for each accelerator function 64. In another example, during operation,the controller 24 is configured to apply all functions, such as thoselisted in Table 1, to each segment 60-1 of the accelerometer time-seriesgait data 30-1.

In another example, in the case where the time-series gait data 30 isgyroscope time-series gait data 30-2, the controller 24 is configured toapply a gyroscope function 66 to the time-series gait data 30-2 toextract a gyroscope attribute 32-2 from each of the gait data segments60-2. In one arrangement, the gyroscope function 64 can be configured toextract an attribute 32-2 related to an XZ sway area, a YZ sway area, anXY sway area, and a sway volume associated from each of the gait datasegments 60-2 associated with the gyroscope time-series gait data 30-2.

Table 2 provided below outlines four (4) attributes 32-2 that can beextracted from the gyroscope time-series gait data 30-2 by thecorresponding gyroscope functions 66. It is noted that the listing ofattributes 32-2 provided in Table 2 is by way of example only. It shouldbe understood that additional attributes 32-2 can be extracted from thegyroscope time-series gait data 30-2 as well.

TABLE 2 Attribute 32-2 Attribute Description Gyroscope Function 66 XZSway Area Area of projected gyroscope XZ Sway Area = πr² readings from Z(yaw) and X (pitch) axes YZ Sway Area Area of projected gyroscope YZSway Area = πr² readings from Z (yaw) and axes XY Sway Area Area ofprojected gyroscope XY Sway Area = πr² readings from X (pitch) and Y(roll) axes Sway Volume Volume of projected gyroscope readings from allthree axes (pitch, roll, yaw)${{Sway}\mspace{14mu}{Volume}} = {\frac{4}{3}\pi\; r^{3}}$

During operation, the gyroscope 29 is configured to provide the rate ofrotation around the X, Y and Z axes of the mobile device 20 in radiansper second and the mobile sensing device 20 is configured to calculatesway area by plotting data values from two of the gyroscope's axes. Forexample, with reference to FIG. 4A, for a XZ sway area, the mobilesensing device 20 projects all observed gyroscope X and Z values in asegment onto an X-Z plane and provides the XZ sway area as the area ofan ellipse that encloses the 95 percent confidence interval of allobserved points. Further, with reference to FIG. 4B, the mobile sensingdevice 20 is configured to synthesize the sway volume of a user basedupon the detected sway areas. In one arrangement, the mobile sensingdevice 20 is configured to synthesize gyroscope-based sway volume as thesphere that contains the 95 percent confidence interval of all X, Y, Zpoints in a given segment.

With reference to FIG. 3, assume the case where the controller 24 isconfigured to apply the XZ sway function as the as the gyroscopefunction 66 to each segment 60-2-1 through 60-2-5 of the gyroscopetime-series gait data 30-2. As a result of the application of the XZsway area function to the segments 60-2-1 through 60-2-5, the controller24 generates XZ sway area attributes 32-2-1 through 32-2-5 associatedwith the gyroscope time-series gait data 30-2, one attribute 32-2-1through 32-2-5 for each segment 60-2-1 through 60-2-5. In the exampleprovided, application of additional gyroscope functions 64 (e.g., XYsway area function, YZ sway area function) to each segment 60-2-1through 60-2-5 of the gyroscope time-series gait data 30-2 can generateadditional corresponding attributes (e.g., XY sway area attributes, YZsway area attributes) associated with the gyroscope time-series gaitdata 30-2, one attribute 32-2-1 through 32-2-5 for each segment 60-2-1through 60-2-5. In one arrangement, during operation, the controller 24is configured to apply all sway area functions and the sway volumefunction, such as those provided in Table 2, to each segment 60-1 of theaccelerometer time-series gait data 30-1.

Next, with reference to FIG. 1, following generation of the attributes32, the mobile sensing device 20 is configured to compare the set ofattributes 32 with a machine learning classification model 34 previouslylearned from a training data set of attributes 35 to determine at leastone of a blood alcohol content range of the user and an impairment levelof the user.

With reference to FIG. 5, the training data set of attributes 35 can bederived in a variety of ways. In one arrangement, the training data setof attributes 35 are derived from a test group of users. For example,the training data set of attributes 35 can be derived from a test groupwearing sensor impairment goggles. The sensor impairment goggles areconfigured to distort the user's vision to simulate the effects ofalcohol/drug consumption on the body at various BAC levels or variouslevels of impairment. During data collection for the training data setof attributes 35, the test group of users wear the sensor impairmentgoggles and walk while the accelerometer and gyroscope of the users'mobile device collect accelerometer and gyroscope sensor data. Gogglesrated at various impairment levels simulate the correspondingintoxication or impairment effects. In another example, the trainingdata set of attributes 35 can be derived from a test group where thesubjects are intoxicated or impaired as a result of consuming alcoholor/and drugs.

Following the data collection, a variety of accelerometer and gyroscopeattributes for each impairment level can be calculated (e.g., theaccelerometer and gyroscope attributes 32-1, 32-2 provided in Tables 1and 2 above) either on the mobile device or provided to a mobile sensingdevice 20, such as from a central server device. Over time, as themachine learning classification model 34 learned from the training dataset of attributes 35 is updated and refined, such as with a largerpopulation sample or with additional or fewer attributes, the serverdevice can provide an updated machine learning classification model 34to the mobile sensing device 20.

Based upon the groupings of each calculated accelerometer and gyroscopeattributes for each impairment level determined by the test group ofusers, threshold values 70 between adjacent impairment levels can becalculated and provided to a mobile sensing device 20 as the machinelearning classification model 34 thresholds. For example, FIG. 4illustrates the threshold values 70 determined from the training set ofkurtosis attributes 34 for four different ranges of impairment. Thefirst range can identify a BAC of between about 0.04 and 0.06, thesecond range can identify a BAC of between about 0.08 and 0.15, thethird range can identify a BAC of between about 0.15 and 0.25, and thefourth range can identify a BAC of between about 0.25 and 0.35.

Returning to FIG. 1, during operation, the mobile sensing device 20 isconfigured to compare the accelerometer attributes 32-1 and thegyroscope attributes 32-2 with the threshold values 70 learned from thetraining data set of attributes 35 in multi-dimensional space todetermine the blood alcohol content range of the user and/or theimpairment level of the user. In one arrangement, the number ofdimensions associated with the comparison can relate to the number ofaccelerometer attributes 32-1 and the gyroscope attributes 32-2extracted by the mobile sensing device 20. For example, as providedabove, the mobile sensing device 20 is configured to extract elevenaccelerometer attributes 32-1 from the accelerometer time-series gaitdata 30-1 and four gyroscope attributes 32-2 from the gyroscopetime-series gait data 30-2. In such a case, the mobile sensing device 20can compare all of these attributes 32-1, 32-2 with the correspondingthresholds 70 of the training data set of attributes 35 within afifteen-dimension space to determine at least one of the blood alcoholcontent range of the user and the impairment level of the user for eachattribute 32-1, 32-2.

With reference to FIG. 1, following the detection of one of the bloodalcohol content range of the user and the impairment level of the user,the mobile sensing device 20 is configured to output a notification 36associated with the at least one of the blood alcohol content range ofthe user and the impairment level of the user. For example, assume thecase where the comparison of the accelerometer attributes 32-1 and thegyroscope attributes 32-2 with the threshold values 70 identifies theuser as having a BAC within the range of between about 0.08 and 0.15.With such identification, the mobile sensing device 20 can generate anotification 36 identifying the user's BAC and provide the notification36 to a display 28 associated with the mobile sensing device 20. Inanother example, the mobile sensing device 20 can generate thenotification 36 and forward it to an external device, such as the deviceof a person identified in the mobile sensing device's contact list or toa taxi or third-party driving service.

Accordingly, the mobile sensing device 20 is configured to utilizeaccelerometer time-series gait data 30-1 and gyroscope time-series gaitdata 30-2, as well as posturography features, including sway area andsway volume computed on the accelerometer and gyroscope time-series gaitdata 30-1, 30-2, to classify a user's BAC range or level of impairment.Based upon this configuration, the mobile sensing device 20 can providetimely notifications of excessive alcohol consumption to drinkers whoare over the legal driving limit. Also, the mobile sensing device 20 canlog a user's drinking patterns and associated contexts (e.g., time,place, or who with) such that the user can reflect on his drinking logs,detect patterns of abuse, and either self-correct or seek treatment. Themobile sensing device 20 can also provide notifications to smartphoneusers whose gait have been impaired for other reasons including illicitor prescription drug use, fatigue or adverse health conditions.

Further, the mobile sensing device 20 is configured to operate passivelyto determine the user's level of intoxication or impairment. By limitingthe need for active user engagement, the mobile sensing device 20 can bereadily adopted and scaled. Additionally, the detection application isconfigured to be executed by a user's mobile sensing device 20, such asa smartphone or smartwatch. As such, the user is not required topurchase a dedicated, stand-alone device to monitor his BAC range orimpairment levels.

As provided above, the mobile sensing device 20 is configured to detecta set of attributes 32 associated with time-series gait data 30 and tocompare the set of attributes 32 with a machine learning classificationmodel 34 learned from a training data set of attributes 35 to determineat least one of a blood alcohol content range of the user and animpairment level of the user. In one arrangement, the mobile sensingdevice 20 is configured to modify at least some of the set of attributes32 prior to comparing with the machine learning classification model 34to provide a more robust and accurate comparison results relative to thea machine learning classification model 34.

For example, with reference to FIG. 6, after detecting the set ofattributes 32 associated with the collected time-series gait data 30 themobile sensing device 20 is configured to detect an nominal value ofeach attribute of the set of attributes 200 associated with thetime-series gait data 30. For example, the mobile sensing device 20 canapply a nominal value function to each segment 60 of the attributes 32extracted from either the accelerometer time-series gait data 30-1 orthe gyroscope time-series gait data 30-2 to generate nominal valueattributes 200. With such application of the nominal value function, themobile sensing device 20 can effectively classify the value generated bythe attribute function. The mobile sensing device 20 can then comparethe nominal value of each attribute of the set of attributes 200 withmachine learning classification model thresholds 70 to determine the atleast one of the blood alcohol content range of the user and theimpairment level of the user.

In one arrangement, to compensate for differences in walking patterns ofdifferent people, the mobile sensing device 20 can be configured tonormalize the attributes 32 extracted from the time-series gait data 30.For example, assume the case where a user has a relatively large XZ swayarea as he walks under sober circumstances but which would be indicativeof the user having a relatively high impairment level. To minimize theeffect of such differences in gait patterns on a user's detected BAC orimpairment level, the mobile sensing device 20 can be configured toutilize the baseline gait data 40 to normalize the attributes 32.

For example, with continued reference to FIG. 6, the mobile sensingdevice 20 is configured to combine each attribute of the set ofattributes 32 and a corresponding baseline attribute 210 associated withbaseline time-series gait data 40 to generate a set of normalizedattributes 212 independent from a baseline motion of the user. Themobile sensing device 20 can combine the attributes 32 and the baselineattribute 210 to generate the normalized attributes 212 in a variety ofways. In one example, the mobile sensing device 20 can generate thenormalized attributes 212 as a ratio between each attribute 32 and eachcorresponding baseline attribute 210. In another example, the mobilesensing device 20 can generate the normalized attributes 212 as adifference between each attribute 32 and each corresponding baselineattribute 210. Such a combination normalizes the attributes 32 of a setof time-series gait data 30 to minimize or remove anomalies in aparticular user's walking pattern (e.g., a relatively large XZ swayarea) when comparing each attribute of the set of normalized attributeswith the machine learning classification model 34 to determine the atleast one of the blood alcohol content range of the user and theimpairment level of the user. While the mobile sensing device 20 cangenerate the normalized attributes 212 as a ratio or difference, themobile sensing device 20 can be configured to generate the normalizedattributes 212 using a variety of other operations as well.

As indicated in the example above, the mobile device 20 is configured tocompare each of the eleven accelerometer attributes 32-1 and each of thefour gyroscope attributes 32-2 with corresponding attributes of themachine learning classification model 34 to determine either a BAC rangeor an impairment level of the user. Such indication is by way of exampleonly. In one arrangement, and with continued reference to FIG. 6, themachine learning classification model 34 is configured with apre-selected subset of classification attributes 234 which have arelatively high predictive values for BAC or impairment classification.

For example, to quantify the predictive value of each extractedattribute 32, the machine learning classification model 34 can bedeveloped using a Correlation-Based Feature Selection (CFS). Here, eachattribute's correlation with a test subject's BAC level and p-value arecomputed. Attributes that have statistically significant correlations(p-value<0.05) with BAC levels have a relatively high predictive valueand are included as part of the machine learning classification model34.

In one arrangement, assume the case where of the pre-selected machinelearning classification model attributes 234 includes the attributes ofcadence, symmetry of a walking pattern, and kurtosis. During operation,upon review of the pre-selected machine learning classification modelattributes 234, the mobile sensing device 20 is configured to select thecorresponding attributes 232 from the entire set of eleven attributesextracted from the time-series gait data 30 and to compare theseselected attributes 232 with the corresponding pre-selected attributes234 of the machine learning classification model attributes 234. Such acomparison utilizes the machine learning classification model attributes234 that provide the relatively highest predictive value for BAC orimpairment classification. In one arrangement, CFS can be performedoffline, wherein the most predictive features are pre-determined duringanalysis and used to generate the BAC or impairment classification modelutilized on the mobile sensing device 20.

As provided above, the mobile sensing device 20 is configured to utilizesensors, such as an accelerometer 27 and a gyroscope 29 to generatetime-series gait data 30 for analysis. In one arrangement, the mobilesensing device 20 can utilize other sensors as well. For example, withreference to FIG. 6, the mobile sensing device 20 can include abiological sensor 220 configured to provide time-series biological data225 to the controller 24 as a user walks. The biological sensor 220 canbe configured to provide any of a variety of biological data 225 to thecontroller 24, such as heart rate, heart rate variability, skintemperature, galvanic skin resistance, respiration, temperature, andperspiration information for example. Upon receipt, the mobile sensingdevice is configured to detect a set of attributes associated with thesecond time-series biological data 25 and to compare the extractedattributes with the machine learning classification model 34 todetermine the user's BAC or impairment level.

As provided above, the mobile sensing device 20 is configured to operatepassively to determine the user's level of intoxication or impairment,which limits the need for active user engagement during operation. Suchconfiguration is by way of example only. In one arrangement, the mobilesensing device 20 is configured to operate the application actively. Forexample, the application can be activated on a mobile sensing device 20by a law enforcement officer to test a suspect for DUI. In use, theofficer can activate the application on his own mobile sensing device20, hand the mobile sensing device 20 to the suspect, and asks thesuspect to walk. With such a configuration, the mobile sensing device 20can provide an accurate assessment of the suspect's BAC or impairmentlevel without requiring the use of a breathalyzer.

As indicated above, the mobile sensing device 20 is configured as asingle device, such as a mobile phone (e.g., smartphone), mobile watch(e.g., smartwatch), a tablet device, a laptop computer, or othercomputerized device. Such indication is by way of example only. In onearrangement, the functionality of the mobile sensing device 20 can bedivided across multiple devices. For example, with reference to FIG. 6,a user 300 can utilize multiple mobile sensing devices such as asmartphone 320 and a smartwatch 322 to collect time-series gait data 30.

In one arrangement, the smartphone 320 is typically carried on the bodyof the user, such as in a pocket, and can collect substantially accuratecadence and sway data attributes as part of the time-series gait data30, associated with the user. The smartwatch 322 is configured as awearable device and can collect both various attributes includingcadence and sway data attributes from the user as part of thetime-series gait data 30 as well as physiologic or biological data 225from the user.

The use of both the smartphone 320 and a smartwatch 322 allowscollaborative data collection during walking. For example, when a userwears both devices 320, 322, gyroscope and accelerometer data can becollected on both the smartwatch 322 and smartphone 322. The smartwatchtime-series gait data 30 is then sent to the smartphone 320 where it issegmented along with the smartphone's sensor data, such as into 5 secondsegments. The mobile sensing device 20 extracts the attributes 32 fromthe time-series gait data 30, compares to the machine learningclassification model 34, and provides the resulting, inferred BAC rangeor impairment level as a notification 36, such as to the smartwatch 322where it is displayed.

As provided above, the mobile sensing device 20 is described asextracting attributes 32 from time-series gait data 30. Such descriptionis by way of example only. In one arrangement, attribute extraction canbe computationally intense. Accordingly, following segmentation, themobile sensing device 20 is configured to transmit the segmentedtime-series gait data 30 to a sever device (not shown) which, in turn,is configured to extract the attributes 32 from the time-series gaitdata 30.

While various embodiments of the innovation have been particularly shownand described, it will be understood by those skilled in the art thatvarious changes in form and details may be made therein withoutdeparting from the spirit and scope of the innovation as defined by theappended claims.

What is claimed is:
 1. In a mobile sensing device, a method of detectingblood alcohol content, comprising: receiving, by the mobile sensingdevice, time-series gait data from at least one sensor of the mobilesensing device as a user walks; detecting, by the mobile sensing device,a set of attributes associated with the time-series gait data, eachattribute of the set of attributes related to the user's gait;comparing, by the mobile sensing device, the set of attributes with amachine learning classification model learned from a training data setof attributes to determine at least one of a blood alcohol content rangeof the user and an impairment level of the user; and outputting, by themobile sensing device, a notification associated with the at least oneof the blood alcohol content range of the user and the impairment levelof the user; wherein comparing the set of attributes with the machinelearning classification model comprises: combining, by the mobilesensing device, each attribute of the set of attributes and acorresponding baseline attribute associated with baseline time-seriesgait data to generate a set of normalized attributes independent from abaseline motion of the user, and comparing, by the mobile sensingdevice, each attribute of the set of normalized attributes with themachine learning classification model to determine the at least one ofthe blood alcohol content range of the user and the impairment level ofthe user.
 2. The method of claim 1, wherein: receiving the time-seriesgait data from the at least one sensor of the mobile sensing device asthe user walks further comprises receiving, by the mobile sensingdevice, time-series biological data from at least one biological sensorof the mobile sensing device as a user walks; and detecting the set ofattributes associated with the time-series gait data comprisesdetecting, by the mobile sensing device, a set of attributes associatedwith the time-series biological data, each attribute of the set ofattributes related to the user's gait.
 3. The method of claim 1, whereinreceiving time-series gait data from the at least one sensor of themobile sensing device comprises: receiving, by the mobile sensingdevice, a user motion signal from the at least one sensor of the mobilesensing device; comparing, by the mobile sensing device, the user motionsignal with a walking signature signal; and when the user motion signalsubstantially corresponds to the walking signature signal receiving, bythe mobile sensing device, time-series gait data from the at least onesensor of the mobile sensing device as the user walks.
 4. The method ofclaim 1, comprising: in response to receiving the time-series gait data,dividing, by the mobile sensing device, the time-series gait data intogait data segments; and detecting the set of attributes associated withthe time-series gait data comprises detecting, by the mobile sensingdevice, a set of attributes associated with each gait data segment ofthe time-series gait data.
 5. The method of claim 4, comprising, inresponse to dividing the time-series gait data into gait data segments:identifying, by the mobile sensing device, at least one outlier value ofthe time-series gait data; and removing, by the mobile sensing device,the at least one outlier value from the time-series gait data prior todetecting the set of attributes.
 6. The method of claim 1, whereinreceiving time-series gait data from at least one sensor comprisesreceiving, by the mobile sensing device, time-series gait data from anaccelerometer and from a gyroscope of the mobile sensing device.
 7. Themethod of claim 6, wherein detecting the set of attributes associatedwith the time-series gait data comprises detecting, by the mobilesensing device, a set of accelerometer attributes associated with thetime-series gait data, the set of accelerometer attributes selected fromthe group consisting of a number of steps taken, cadence, symmetry ofwalking pattern, kurtosis, average gait velocity, residual step length,harmonic ratio of high and low frequencies, residual step time,bandpower, signal to noise ratio, and total harmonic distortion.
 8. Themethod of claim 6, wherein detecting the set of attributes associatedwith the time-series gait data comprises detecting, by the mobilesensing device, a set of gyroscope attributes associated with thetime-series gait data, the set of gyroscope attributes selected from thegroup consisting of an XZ sway area, a YZ sway area, an XY sway area,and a sway volume.
 9. A mobile sensing device, comprising: at least onesensor; and a controller having a processor and a memory, the controllerdisposed in electrical communication with the at least one sensor, thecontroller configured to: receive time-series gait data from at leastone sensor of the mobile sensing device as a user walks; detect a set ofattributes associated with the time-series gait data, each attribute ofthe set of attributes related to the user's gait; compare the set ofattributes with a machine learning classification model learned from atraining data set of attributes to determine at least one of a bloodalcohol content range of the user and an impairment level of the user;and output a notification associated with the at least one of the bloodalcohol content range of the user and the impairment level of the user;wherein when comparing the set of attributes with the machine learningclassification model, the controller is configured to: combine eachattribute of the set of attributes and a corresponding baselineattribute associated with baseline time-series gait data to generate aset of normalized attributes independent from a baseline motion of theuser, and compare each attribute of the set of normalized attributeswith the machine learning classification model to determine the at leastone of the blood alcohol content range of the user and the impairmentlevel of the user.
 10. The mobile sensing device of claim 9, wherein:when receiving the time-series gait data from the at least one sensor ofthe mobile sensing device as the user walks further, the controller isconfigured to receive time-series biological data from at least onebiological sensor of the mobile sensing device as a user walks; and whendetecting the set of attributes associated with the time-series gaitdata, the controller is configured to detect a set of attributesassociated the time-series biological data, each attribute of the set ofattributes related to the user's gait.
 11. The mobile sensing device ofclaim 9, wherein when receiving time-series gait data from the at leastone sensor of the mobile sensing device, the controller is configuredto: receive a user motion signal from the at least one sensor of themobile sensing device; compare the user motion signal with a walkingsignature signal; and when the user motion signal substantiallycorresponds to the walking signature signal receive time-series gaitdata from the at least one sensor of the mobile sensing device as theuser walks.
 12. The mobile sensing device of claim 9, wherein thecontroller is configured to: in response to receiving the time-seriesgait data, divide the time-series gait data into gait data segments; andwhen detecting the set of attributes associated with the time-seriesgait data, detect a set of attributes associated with each gait datasegment of the time-series gait data.
 13. The mobile sensing device ofclaim 12 wherein, when dividing the time-series gait data into gait datasegments, the controller is configured to: identify at least one outliervalue of the time-series gait data; and remove the at least one outliervalue from the time-series gait data prior to detecting the set ofattributes.
 14. The mobile sensing device of claim 9, wherein whenreceiving time-series gait data from at least one sensor, the controlleris configured to receive time-series gait data from an accelerometer andfrom a gyroscope of the mobile sensing device.
 15. The mobile sensingdevice of claim 14, wherein when detecting the set of attributesassociated with the time-series gait data, the controller is configuredto detect a set of accelerometer attributes associated with thetime-series gait data, the set of accelerometer attributes selected fromthe group consisting of a number of steps taken, cadence, symmetry ofwalking pattern, kurtosis, average gait velocity, residual step length,harmonic ratio of high and low frequencies, residual step time,bandpower, signal to noise ratio, and total harmonic distortion.
 16. Themobile sensing device of claim 14, wherein when detecting the set ofattributes associated with the time-series gait data, the controller isconfigured to detect a set of gyroscope attributes associated with thetime-series gait data, the set of gyroscope attributes selected from thegroup consisting of an XZ sway area, a YZ sway area, an XY sway area,and a sway volume.
 17. A computer program product stored on a computerreadable medium that when executed by a controller of a mobile sensingdevice configured the mobile sensing device to: receive time-series gaitdata from at least one sensor of the mobile sensing device as a userwalks; detect a set of attributes associated with the time-series gaitdata, each attribute of the set of attributes related to the user'sgait; combine each attribute of the set of attributes and acorresponding baseline attribute associated with baseline time-seriesgait data to generate a set of normalized attributes independent from abaseline motion of the user; and compare each attribute of the set ofnormalized attributes with a machine learning classification modellearned from a training data set of attributes to determine at least oneof a blood alcohol content range of the user and an impairment level ofthe user; and output a notification associated with the at least one ofthe blood alcohol content range of the user and the impairment level ofthe user.